一、准备工作
-
获取API凭证
-
登录DeepSeek官网注册开发者账号
-
进入控制台创建API Key(如:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
-
-
服务器基础环境
-
Ubuntu 20.04+ LTS系统
-
公网IP地址
-
开放所需端口(建议80/443)
-
二、环境搭建
1. 安装Web服务器
# 安装Nginx sudo apt update && sudo apt install nginx -y systemctl start nginx # 安装Python环境 sudo apt install python3-pip python3-venv -y
2. 创建项目目录
mkdir deepseek-api && cd deepseek-api python3 -m venv venv source venv/bin/activate
三、API对接实现
1. 安装依赖库
pip install flask requests python-dotenv
2. 创建配置文件(.env)
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx API_BASE_URL=https://api.deepseek.com/v1
3. 核心代码示例(app.py)
import os from flask import Flask, request, jsonify import requests from dotenv import load_dotenv load_dotenv() app = Flask(__name__) API_KEY = os.getenv("DEEPSEEK_API_KEY") BASE_URL = os.getenv("API_BASE_URL") @app.route('/chat', methods=['POST']) def chat_completion(): try: data = request.json headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } response = requests.post( f"{BASE_URL}/chat/completions", headers=headers, json={ "model": "deepseek-chat", "messages": data["messages"], "temperature": 0.7 } ) if response.status_code == 200: return jsonify(response.json()) else: return jsonify({"error": response.text}), response.status_code except Exception as e: return jsonify({"error": str(e)}), 500 if __name__ == "__main__": app.run(host='0.0.0.0', port=5000)
四、部署与测试
1. 配置反向代理(Nginx)
server { listen 80; server_name your_domain.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
2. 启动服务
# 调试模式 python app.py # 生产环境建议使用Gunicorn gunicorn -w 4 -b 0.0.0.0:5000 app:app
3. 接口测试
CURL测试:
curl -X POST http://localhost:5000/chat \ -H "Content-Type: application/json" \ -d '{ "messages": [ {"role": "user", "content": "你好,请介绍一下自己"} ] }'
Postman测试:
-
创建POST请求到
/chat
端点 -
设置Header:Content-Type: application/json
-
Body示例:
{ "messages": [ {"role": "user", "content": "写一首关于春天的诗"} ] }